package pkg.finalproyectEJB;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Clase DetalleCarro que es utilizada para mappear y guardar datos del
 * detalle carrito que genero el usuario, ademas es utilizada en la ejb y
 * managebean del proyecto.
 * 
 * @author lorenzoveas.trainee@tinet.cl
 * @author Lorenzo Andres Veas Veas.
 */
@Entity
@Table(name = "detalle_carro")
public class DetalleCarro implements Serializable {

    /**
     * doc information expected for serialVersionUID attribute.
     */
    private static final long serialVersionUID = 1L;

    /**
     * Variable ID_DETALLE que se genera automanticamnte cuando guardamos el
     * detalle_carro del usuario.
     */
    @Id
    @GeneratedValue
    private int ID_DETALLE;
    /**
     * Atributo idCarro que hace referencia a la tabla Id_carro creado por el
     * usuario y es mappeado a la BD con el nombre ID_CARRO.
     */
    @Column(name = "ID_CARRO")
    private int idCarro;
    /**
     * Atributo idProducto que hace referencia a la tabla ID_PRODUCTO en la
     * tabla detalle_carro, es mappeado en la BD con el nombre ID_PRODUCTO.
     */
    @Column(name = "ID_PRODUCTO")
    private String idProducto;
    /**
     * Atributo cantidad que guarda la cantidad del producto que solicito el
     * usuario en la compra, es mappeado en la BD con le nombre CANTIDAD.
     */
    @Column(name = "CANTIDAD")
    private int cantidad;

    /**
     * Constructor por defecto de la clase DetalleCarro.
     * 
     */
    public DetalleCarro() {

    }

    /**
     * Constructor que asigna los atributos de la clase Producto.
     * 
     * @param idCarro
     *            asigna el id del carro del usuario.
     * @param id_producto
     *            asigna el id del producto asosiado .
     * @param cantidad
     *            asigna la cantidad de producto que compro el usuario.
     */
    public DetalleCarro(int idCarro, String id_producto, int cantidad) {

        this.idCarro = idCarro;
        this.idProducto = id_producto;
        this.cantidad = cantidad;
    }

    /**
     * Permite Capturar el valor del Atributo iD_DETALLE.
     * 
     * @return El valor iD_DETALLE.
     */
    public int getID_DETALLE() {
        return ID_DETALLE;
    }

    /**
     * Permite asignar el valor del atriburo iD_DETALLE attribute value.
     * 
     * @param iD_DETALLE
     *            Nuevo valor para el atributo iD_DETALLE.
     */
    public void setID_DETALLE(int iD_DETALLE) {
        ID_DETALLE = iD_DETALLE;
    }

    /**
     * Permite Capturar el valor del Atributo idCarro.
     * 
     * @return El valor idCarro.
     */
    public int getIdCarro() {
        return idCarro;
    }

    /**
     * Permite asignar el valor del atriburo idCarro attribute value.
     * 
     * @param idCarro
     *            Nuevo valor para el atributo idCarro.
     */
    public void setIdCarro(int idCarro) {
        this.idCarro = idCarro;
    }

    /**
     * Permite Capturar el valor del Atributo idProducto.
     * 
     * @return El valor idProducto.
     */
    public String getIdProducto() {
        return idProducto;
    }

    /**
     * Permite asignar el valor del atriburo idProducto attribute value.
     * 
     * @param idProducto
     *            Nuevo valor para el atributo idProducto.
     */
    public void setIdProducto(String idProducto) {
        this.idProducto = idProducto;
    }

    /**
     * Permite Capturar el valor del Atributo cantidad.
     * 
     * @return El valor cantidad.
     */
    public int getCantidad() {
        return cantidad;
    }

    /**
     * Permite asignar el valor del atriburo cantidad attribute value.
     * 
     * @param cantidad
     *            Nuevo valor para el atributo cantidad.
     */
    public void setCantidad(int cantidad) {
        this.cantidad = cantidad;
    }

}
